1. Field of the Invention
The present invention relates to an estimation apparatus for estimating the position and orientation of objects, a control method thereof and a program, and more particularly to a technique for estimating with high accuracy and speed the position and orientation of objects capable of taking arbitrary positions and orientations in three-dimensional space, such as objects in a pile.
2. Description of the Related Art
Lining up components using a parts feeder is known as a method for a robot to hold components. However, with this method a dedicated parts feeder is needed for each individual component, and the parts feeders need to be reconfigured whenever there is a change in the type of component. In order to overcome this problem, a method has been proposed that involves detecting arbitrarily oriented components by estimating the position and orientation of an arbitrary component.
Japanese Patent Laid-Open No. 2008-217544 discloses a configuration for performing pattern matching by extracting, from distance data to an arbitrary component, an area approximating a plane forming the component, projecting the distance data onto the plane to create a range image, and comparing the range image with preregistered reference range images. This configuration enables recognition of the position and orientation of a component to be performed at high speed and with little computation, by using an area approximating a plane of the target object to create a range image based on the plane.
Generally, in the case of performing position and orientation recognition of one of the components that are piled up, there is a problem in that matching an image takes more time when pattern matching is performed using a plurality of identifiers provided at different angles.
With the configuration of Japanese Patent Laid-Open No. 2008-217544, this problem can be overcome by reducing the computational cost through using an image approximating the range image with a plane, as the image to be used when performing pattern matching. However, while the computation cost per pattern matching operation can be reduced according to this configuration, the number of pattern matching operations cannot be reduced since all of the identifiers provided for the different angles must be used in sequence. Also, since an approximate image is used, the pattern matching accuracy drops, possibly preventing a detailed estimation of position and orientation.